fix: period_config table prefix key schema check #17265
Open
+131
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Adds tests and a schema check to prevent a user from setting the prefix key on the
period_config
to a value containing a path delimiterWhich issue(s) this PR fixes:
Fixes #17232
Special notes for your reviewer:
I updated this buildCache block to be more readable to myself, if you don't like my change, I can revert with no functionality loss
loki/pkg/storage/stores/shipper/indexshipper/storage/cached_client.go
Lines 300 to 320 in 6818c90
Other:
some_prefix_term_
in the schema_config_test.go file and could not determine if it is intentional that this field contain a path delimiter, the cache client won't be able to deal with it either way.chunks.prefix
as well. If this is intended to contain a delimiter, let me know, I can move the check to theIndexPeriodicTableConfig
which should not effect thechunks.prefix
Checklist
CONTRIBUTING.md
guide (required)feat
PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.docs/sources/setup/upgrade/_index.md
deprecated-config.yaml
anddeleted-config.yaml
files respectively in thetools/deprecated-config-checker
directory. Example PR